﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Consulta.Manager;

public partial class Pages_MovimientoAlmacen : System.Web.UI.Page
{
    double saldoIni, saldoFin;
    double totEntradas = 0;
    double totSalidas = 0;
    MInventario mInventario = new MInventario();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (User.IsInRole(@"COSTARICA\CR_Intranet_Inventarios.R") || User.IsInRole(@"GRUPOBANACOL\CR_Intranet_Inventarios.R"))
            {
                Label lblTituloMaster = new Label();
                lblTituloMaster = (Label)this.Form.Parent.FindControl("lblTitulo");
                lblTituloMaster.Text = "Intranet-Consulta de Movimiento de Inventarios";
                if (Page.Request.QueryString.Count > 0)
                {
                    //Leer parametros enviados
                    lblCia.Text = Page.Request.QueryString["Cia"];
                    lblArticulo.Text = Page.Request.QueryString["Articulo"];
                    lblAlmacen.Text = Page.Request.QueryString["CodAlm"];
                    lblAlmacenNom.Text = Page.Request.QueryString["NombreAlm"];
                    string tPeriodo = Page.Request.QueryString["Periodo"];
                    perSel1.Anno = 2000 + int.Parse(tPeriodo.Substring(0, 2));
                    perSel1.Mes = int.Parse(tPeriodo.Substring(2, 2));
                    lblTitulo1.Text = "Movimiento de inventarios de Almacen ";
                    //Leer Nombre y unidad del producto
                    string tNombre, tUnidad;
                    mInventario.leerInfoProducto(lblArticulo.Text, out tNombre, out tUnidad);
                    lblArticuloNombre.Text = tNombre;
                    lblUnidad.Text = tUnidad;
                }
            }
            else
            {
                Response.Redirect("~/Pages/PaginaMensaje.aspx?Msj=Lo sentimos. Usted no tiene autorización para ingresar a esta página.");
            }
        }
    }
    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.DataItem != null)
            {
                totEntradas += Convert.ToDouble(DataBinder.Eval(e.Row.DataItem, "Entrada"));
                totSalidas += Convert.ToDouble(DataBinder.Eval(e.Row.DataItem, "Salida"));
            }
        }
        else if (e.Row.RowType == DataControlRowType.Footer && perSel1.Valor.Length > 0)
        {
            e.Row.Cells[2].Text = "Totales : ";
            e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Right;
            e.Row.Cells[3].Text = totEntradas.ToString("n0");
            e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Right;
            e.Row.Cells[4].Text = totSalidas.ToString("n0");
            e.Row.Cells[4].HorizontalAlign = HorizontalAlign.Right;
            e.Row.Font.Bold = true;
            //Asignar labels de saldos
            saldoIni = mInventario.leerSaldoInicial(lblCia.Text, lblAlmacen.Text, lblArticulo.Text, perSel1.Valor);
            saldoFin = saldoIni + totEntradas - totSalidas;
            lblSaldoIni.Text = saldoIni.ToString("#,##0") + " (" + lblUnidad.Text + ")";
            lblSaldoFin.Text = saldoFin.ToString("#,##0") + " (" + lblUnidad.Text + ")";
        }
    }
}

